Prior Art FIG. 1 is an illustration of a two CAM (content-addressable memory) cells 100a and 100b, according to conventional art. CAM cells 100a and 100b have a read path 110. Read transistors 130a and 130b, in read path 110, are employed by CAM cells 100a and 100b, respectively, to perform a read function. CAM cells 100a and 100b have a program path 120. Program transistors 140a and 140b, in program path 120, are employed by CAM cells 100a and 100b, respectively, to perform a programming function. Because reading necessitates a much larger current than does programming, read transistors 130a and 130b are much larger than program transistors 140a a and 140b. The difference in the sizes of the read and program transistors presents problems for photolithography and preclude using a chemical mechanical polishing (CMP) process. Also, the layout of a conventional CAM cell is itself an issue when attempting to use a CMP process to make a floating gate. In addition, the size of CAM cells 100a and 100b is relatively large in order to accommodate the large read transistors 130a and 130b, thus occupying a large amount of real estate in devices for which they are used.